﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Security.Principal;
using System.Web;

namespace YanForum.Engine.ViewModels
{
    public class UserItem
    {
        public int UserId { get; set; }
        public string UserName { get; set; }
        public DateTime CrateDate { get; set; }
        public string Email { get; set; }
        public string FullName { get; set; }
        public string Avatar { get; set; }
        public string Folder { get; set; }
        public string ImagePath { get; set; }
        public string AvatarFullPath
        {
            get { return  YanForum.Engine.Services.BaseService.ImgServerPath + ImagePath; }
        }

        //Role
        public int RoleId { get; set; }
        public string RoleName { get; set; }
    }

    public class UserIndex
    {
        public List<UserItem> ListUser { get; set; }
        public UserOptions Options { get; set; }
        public int TotalCount { get; set; }
        public int PageIndex { get; set; }
        public int PageSize { get; set; }
    }

    public class UserOptions
    {
        public List<RoleItem> ListRole { get; set; }
        public int? RoleId { get; set; }
        public string Search { get; set; }
    }

    public class PasswordModel
    {
        [Required(ErrorMessage="Chưa có UserId")]
        public int UserId { get; set; }
        public string UserName { get; set; }

        [Display(Name = "Role User")]
        [Required(ErrorMessage = "Vui lòng chọn Role User")]
        public int RoleId { get; set; }

        //[Required(ErrorMessage = "Vui lòng nhập mật khẩu")]
        //[StringLength(100, ErrorMessage = "Mật khẩu phải ít nhất {2} ký tự.", MinimumLength = 6)]
        [DataType(DataType.Password)]
        [Display(Name = "Mật khẩu")]
        public string NewPassword { get; set; }

        [DataType(DataType.Password)]
        [Display(Name = "Nhập lại mật khẩu")]
        [Compare("NewPassword", ErrorMessage = "Mật khẩu nhập lại không trùng khớp")]
        public string ConfirmPassword { get; set; }
    }
    public enum ManageMessageId
    {
        ChangePasswordSuccess,
        SetPasswordSuccess,
        RemoveLoginSuccess,
    }
}